#pragma once

#include "molecular_atom.h"
#include "models/atom_interface/ai_system_info_fetcher.h"

class SystemInfoFetcher :
    public M::Atom
{
public:
    SystemInfoFetcher();
    virtual ~SystemInfoFetcher();

    virtual M::String name() const { return PAN_SYSTEM_INFO_FETCHER; }
    virtual bool OnEvent(const M::AtomEndPoint &oSrcAtom, int nEventId, void *pParams);
    virtual bool OnExecute(const M::AtomEndPoint &oSrcAtom, int nFuncId, void *pParams, void *pIOParams);

protected:
    bool OnGetAllHooks();
};